SQL Server建库建表命令 |
您所在的位置:网站首页 › sql server建立表语句 › SQL Server建库建表命令 |
数据库建库建表 1.直接右键数据库,选择新建数据库; 2.通过新建查询,输入命令建库建表。 使用CREATE DATABASE创建数据库school。 数据文件的逻辑名称自定义,需要注意的点是主数据文件的物理名称需填写存储文件的地址。 CREATE DATABASE school on primary --表示属于primary文件组 ( name='school_data', --主数据文件的逻辑名称 filename='D:\school_data.dbf', --主数据文件的物理名称 size=5MB, --主数据文件的初始大小 maxsize=1000MB, --主数据文件增长的最大值 filegrowth=10% --主数据文件的增长率 ) log on ( name='school_log', -- 日志文件的逻辑名称 filename='D:\school_log.ldf',-- 日志文件的物理名称 size=2mb,--日志文件的初始大小 maxsize=20mb, --日志文件增长的最大值 filegrowth=1mb --日志文件的增长率 )可能遇到的错误: 对文件“e:\school.mdf"的目录查找失败,出现操作系统错误(系统找不到指定的路径。)CREATE DATABASE失败。无法创建列出的某些文件名。 解决方法:检查本地计算机是否存在e盘。 使用create table创建数据表Student。 CREATE TABLE [〈库名〉]〈表名〉( 〈列名〉〈数据类型〉[〈列级完整性约束条件〉] [,列名]〈数据类型〉[〈列级完整性约束条件〉]] [,…n] [,〈表级完整性约束条件〉][,…n] );要创建一张用户表存储用户数据,需要知道表的结构,如表的名称以及该表中每个列的名称和数据类型,指出每个列中是否允许空值属性等。 注意:数据库中的表包含系统表和用户表。系统表在创建数据库的时候自动生成的,存储数据库和表的相关信息,用户不应该直接更改系统表的内容。
修改基本表的操作 通过更改、添加、除去列和约束或者通过启用或禁用约束和触发器来更改表。 ALTER TABLE table --table为表名 ALTER COLUMN column_name { data_type[NULL | NOT NULL]} | ADD {[] | column_name AS computed_column_expression }[…n] | [WITH CHECK | WITH NOCHECK] ADD {}[…n] | DROP {[CONSTRAINT]constraint_name | COLUMN column [,…n] | {CHECK | NOCHECK } CONSTRAINT {ALL | constraint_name [,…n]} }1.ALTER COLUMN:指定要更改给定列。 (1)例子:将student表中的Stu_sex字段设为空(null) use school ALTER TABLE student ALTER COLUMN Stu_sex varchar(2) null2.ADD:指定要添加一个或多个列定义、计算列定义或者表约束。 (2)例子:在student表中添加一列class,类型为varchar(8),字段允许空。 use school ALTER TABLE student ADD class varchar(8) NULL注意:向已存在的表中增加列时,应使新增加的列具有默认值或允许其为空值。添加列完成时,SQL Server将向表中已存在的行填充新增列的默认值或空值。如果既没有提供默认值也不允许为空值,那么新增列的操作将出错,因为SQL Sever不知道该怎么处理那些已经存在的行。 3.DROP {[CONSTRAINT]constraint_name|COLUMN column_name}:指定从表中删除constraint name或者column_name。 (3)例子:将student表中的class字段删除(class字段有约束ck_class1)。 use school ALTER TABLE student DROP CONSTRAINT ck_class1, COLUMN class4.给表增加约束 ALTER TABLE 表名 ADD CONSTRAINT 检查约束名 CHECK (约束表达式)[,…N](4)例子:在school数据库中,为学生表的出生日期列创建一个检查约束,以保证输入的日期数据大于2000年1月1日而小于当天的日期。 ALTER TABLE school ADD CONSTRAINT ck_bd CHECK(出生日期)‘01/01/2000’AND 出生日期(GETDATE())5.给表创建外键 1.使用命令方式创建外键; 2.在创建新表时同时产生外键约束以及为已经存在的表创建外键约束。 ALTER TABLE 表名 ADD CONSTRAINT 约束名 [FOREIGN KEY ] {(列名[,…])} REFERENCES 参考表名 [( 参考主键列[,…] ) ](5)例子:在Class表上,为班级编号Class_id字段创建一个外键约束,从而保证输入有效的班级编号。 ALTER TABLE Class ADD CONSTRAINT fk_class FOREIGN KEY (班级编号Class_id) REFERENCES 班级(班级编号Class_id)建立和删除索引 建立索引是加快表的查询速度的有效手段,索引可以建在该表的一列或多列上。 ASC:升序,DESC:降序,缺省值为ASC CREATE [UNIQUE] INDEX ON ([][,[]]…); --指定要建索引的基本表的名字,指定索引值的排列次序(1)例子:在学生表上按学号升序建立唯一索引。 CREATE UNIQUE INDEX Stu_Stu_id ON student(Stu_id)(2)例子:在班级表上按学号升序和课程号降序建唯一索引。 CREATE UNIQUE INDEX SC ON Class(Stu_id ASC,Course_id DESC)删除school数据库及数据表 注意:删除数据库前考虑是否需要备份。 DROP DATABASE school --删除数据库,一般很少使用 DROP TABLE student |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |